package cn.com.taurus.service;

import cn.com.taurus.bean.ClientAccountBankBean;
import cn.com.taurus.bean.ClientAndBank;
import cn.com.taurus.entity.Bank;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;


import java.util.List;
/**
 * @author yh
 * @createTime 2021-06-23 16:41:51:01:21
 * @remark 业务逻辑层
 * @version 1.0
 */
@Repository
public interface BankService {
    /**
     * 根据银行卡ID修改银行卡
     * @param bank
     * @return 返回银行卡对象类
     */
    public int update(Bank bank);

    /**
     * 根据客户账号信息ID查询所有的银行卡
     * @param caid
     * @return
     */
    public List<Bank> select(int caid);

    /**
     *
     * @param bank
     * @return
     */
    public int bankRegister(Bank bank);

    /**
     * 查询所有银行卡信息
     * @return 对象类集合
     */
    List<ClientAndBank> selectAllBank();

    /**
     * 删除单个银行卡信息
     * @param bId 银行卡id
     * @return 整型
     */
    int deleteBankById(Integer bId);

    /**
     * 单个查询
     * @param caId 用户主键
     * @return 用户银行卡类
     */
    ClientAndBank selectBankById(Integer caId);

    /**
     * 修改客户账户银行信息
     * @param clientAndBank 客户账户信息类
     * @return 整型
     */
    int updateBank(ClientAndBank clientAndBank);

    /**
     * 模糊查询用户银行卡信息
     * @param bankCode 银行卡号
     * @param bankType 银行卡类型
     * @return 集合
     */
    List<ClientAndBank> findClientAccount(String bankCode, String bankType);



    int insertBank(@Param("bankCode") String bankCode, @Param("bankType") String bankType, @Param("bId") Integer bId);

    /**
     * 添加银行卡信息 返主键值 bid
     * @param clientAccountBankBean
     * @return
     */
    int insertBankSecond(ClientAccountBankBean clientAccountBankBean);

    /**
     * 添加信息到连接表
     * @param clientAccountBankBean
     * @return
     */
    int insertClientAccountAndBank(ClientAccountBankBean clientAccountBankBean);

    /**
     * 根据bId查询 银行卡号
     * @param bId
     * @return
     */
    String selectBankCode(Integer bId);

}



